1. Field of the Invention
The present invention belongs to the field of a node device, an information process method, and a node device program, particularly a node device included in a delivery system delivering contents (delivery information) such as movies through a network such as internet, an information process method carried out in the node device, and a recording medium recording a node device program provided in the information process of the node device.
2. Discussion of the Related Art
Recently research and development has been active on so-called content delivery wherein a server or the like accumulating the contents through a network such as internet is connected from a terminal device, and the contents desired to view in the terminal device are delivered to the terminal device and viewed there.
Here, as exemplified in Japanese Unexamined Patent Publication No. 2004-265273, the conventional delivery system delivering the contents has a basic configuration, wherein a server or the like accumulating contents is connected from a terminal device desiring content delivery through the network, and upon establishment of the connection, delivery of the desired contents, in other words, the transmission of the content data corresponding to the contents is received in the terminal device.
On the other hand, recently as another configuration of delivery system delivering the contents, there has been a delivery system of so-called peer-to-peer (P2P) grid type (simply referred to a “delivery system” hereinafter). Here the delivery system is a delivery system that delivers the contents using the network and where content data corresponding to the contents are mutually and directly given and received among terminal devices belonging to the network (i.e. contents being shared among plural terminal devices). All the terminal devices participating in the delivery system have function as the server and as delivery destination device receiving delivery of the contents (the terminal device being simply referred to as a “node” in the explanation below).
In the delivery system, in a case where content delivery is received in a given node, in the node, a pair of information: node identification information for identifying in the network the other nodes accumulating content data corresponding to the contents desired to deliver; and content identification information for identifying the contents from the other contents (the pair of information being referred to as “index information”) is referred to, and delivery of the desired content is required to receive from the node indicated by the node identification information in this index information.
Then, the general delivery system has a configuration as exemplified by the below-mentioned Patent Document 1, where the index information related to one or plural contents is respectively memorized (distributed and memorized) in the plural nodes as a whole, and these are referred to from the node receiving the content delivery. More specifically, in a case where the network forming the delivery system is, for example, internet, it is necessary to recognize a pair of search information capable of specifying the content desired to deliver (e.g. movie title) and IP (Internet Protocol) address of the node memorizing thereof and give and receive the contents desiring the IP address as a key.
Therefore, in the delivery system like the above-mentioned delivery system where unspecified nodes share contents with each other, respective nodes are required to recognize a pair of search information of all the contents and IP addresses of the nodes memorizing thereof.
However, in a case where the number of nodes connected to the network increases, it is not realistic that respective nodes respectively record search information of all the contents and IP addresses of the nodes memorizing the contents because of restriction of physical memory capacity in the respective nodes or the like (e.g. it is not absolutely realistic that respective nodes record all IP addresses of million units when nodes of million units are connected to a network).
Further, in a case where respective nodes record search information of all the contents and IP addresses memorizing thereof, and in a case where power is frequently turned on and off in respective nodes of the network (e.g. power on and off being frequently operated in a case where the node is realized by a personal computer), IP address or the like recorded by the respective nodes are frequently updated, and actual operation of an entire network becomes difficult.
Then, in order to deal with the above-mentioned problems, a delivery system is studied, where only index information including IP addresses of necessary minimum nodes is recorded and, with respect to the other nodes not recognizing IP address thereof, contents to be delivered to the node and messages necessary required for the delivery are transferred through the other node to deliver. One of them is a delivery system using DHT (Distributed Hash Table) as disclosed in “Lightweight Load Balancing for Distributed Hash Tables” by Toshio Oka, Hiroyuki Morikawa, Tomonori Aoyama; Technical Report of IEICE, (Japan), The Institute of Electronics, Information and Communication Engineers; Feb. 5, 2004, Vol. 103, No. 650, p. 7-12”.
Next, summary of the delivery system using the DHT will be described. In the delivery system using the DHT, a node ID (Identification) is added to the respective nodes to mutually identify the respective nodes. Here, the node ID is provided with a number that is unique to every node, in other words, a number different from the other nodes in the delivery system where the nodes participate. This number is a bit number (bit length) enough to accommodate maximum operation number of node in the network. More specifically, for example, when the node ID of 128 bits is used, 2128≈340×1036 units of nodes can be connected to a single network. A value obtained by applying a hash function to inherent value, of the respective nodes, such as IP address provided to the node itself, so-called MAC (Media Access Control) address, or manufacture number of the node itself is generally used as the node ID.
Further, in the delivery system using the DHT, a unique content ID different from the other content is provided to the content itself delivered by the delivery system as the content identification information corresponding thereto. A bit length of this content ID is same as that of the above-mentioned node ID. A value obtained by applying a hash function to title data indicative of the content title, attribute data indicative of attribute of data forming the content, data of a portion of front several bits among data forming the content, or the like is generally used as the content ID.
In order to realize a configuration where the content to be delivered to the node is transferred and delivered with respective to the other node not recognizing the above-mentioned IP address through the other node, “routing table” is used in the delivery system using DHT.
Although this routing table is described in detail later, generally speaking the routing table are memorized in the respective nodes, and all of the nodes in the delivery system are hierarchically classified based on predetermined condition (e.g. conditions set by a value of respective node IDs indicative of respective nodes), the above-mentioned node ID indicative of a transferable node is described every node group that is obtained by the hierarchical classification.
In a case where the message, the content, or the like is sent and addressed to the specific node (or attaching the content ID indicative of the desired content), the node being the sending source sends the message or the like to a given node indicated by the node ID described in the routing table memorized by the own, and further, the given node receiving the message or the like transfers the message or the like to the other node indicated by the node ID described in the routing table memorized by the own. It is in such a configuration that transfer process is repeated each of the hierarchy in the hierarchical node group, so that the message or the like finally reaches the target node.